.form{
  .form_group{
    .form_input{
      font-size: 1.5rem;
      padding: 1.5rem 2rem;
      border-radius: 2px;
      background-color: rgba($color-white,.5);
      border:none;
      border-bottom: 3px solid transparent;
      width: 80%;
      display: block;
      transition: all .2s;
      &:focus{
        outline: none;
        box-shadow: 0 1rem 2rem rgba($color-black,.1);
        border-bottom: 3px solid $color-primary;
      }
      &:focus:invalid{
        border-bottom: 3px solid rgb(255, 0, 4);
      }
      &::-webkit-input-placeholder{
        color: #999;
      }
      &:placeholder-shown + .form_label{
        opacity: 0;
      }
    }

    .form_label{
      font-size: 1.2rem;
      font-weight: 700;
      margin-left: 2rem;
      margin-top: .7rem;
      display: block;
      transition: all .3s;
    }
  }

  .form_group:not(:last-child){
    margin-bottom: 2rem;
  }

  .radio_group{
    width: 45%;
    display: inline-block;
    cursor: pointer;

    .radio_input{
      display: none;
    }

    .radio_input:checked + .radio_label .radio_button::after{
      opacity: 1;
    }

    .radio_label{
      font-size: 1.6rem;
      position: relative;
      padding-left: 3.5rem;
      .radio_button{
        height: 3rem;
        width: 3rem;
        border: 5px solid $color-primary;
        border-radius: 50%;
        display: block;
        position: absolute;
        left: 0;
        top: -.4rem;
        &::after{
          content: "";
          height: 1rem;
          width: 1rem;
          display: block;
          border-radius: 50%;
          position: absolute;
          top: 50%;
          left:50%;
          transform: translate(-50%,-50%);
          background-color: $color-primary;
          opacity: 0;
          transition: opacity .2s;
        }
      }
    }
  }
}
